﻿export default function define(Blocks: Blockly.BlockDefinitions) {
  let math_col = "#1B173D"
  
  Blocks['operators2'] = {
    init: function() {
      this.appendValueInput("first")
          .setCheck(null);
      this.appendDummyInput()
        .appendField(new Blockly.FieldDropdown([["+","+"], ["-","-"], ["/","/"], ["%","%"], ["*","*"]]), "operators");
      this.appendValueInput("last")
          .setCheck(null);
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setColour("#1B173D");
      this.setTooltip("");
      this.setHelpUrl("");
    }
  };

  Blocks['math_acos'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求反余弦 acos(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_acosh'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求反双曲余弦值 acosh(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_asin'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求反正弦 asin(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_asinh'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求反双曲正弦 asinh(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_atan'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求反正切 atan(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_atanh'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求反双曲正切 atanh(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_ceil'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求大于等于(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")的最小整数");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_cos'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求余弦(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_cosh'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求双曲余弦(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_degrees'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("将弧度转换为角度(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_exp'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("返回x的自然指数(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
        this.setTooltip("(e^x)");
   this.setHelpUrl("");
    }
  };

  Blocks['math_fabs'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("绝对值(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_factorial'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求阶乘(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_floor'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("小于等于(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")的最大整数");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_hypot'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("所有参数的平方和的平方根(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("多个参数用逗号隔开");
   this.setHelpUrl("");
    }
  };

  Blocks['math_log'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求自然对数(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_log10'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求10的对数(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_pow'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求指数(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("3^2 = (3,2)");
   this.setHelpUrl("");
    }
  };

  Blocks['math_radians'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("角度转换为弧度(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_sin'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求正弦(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_sinh'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求双曲正弦(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_st'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求平方(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_tan'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求正切n(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_tanh'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("求双曲正切(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

  Blocks['math_trunc'] = {
    init: function() {
      this.appendDummyInput()
          .appendField("保留整数部分(");
      this.appendValueInput("text")
          .setCheck(null);
      this.appendDummyInput()
          .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(math_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
   this.setTooltip("");
   this.setHelpUrl("");
    }
  };

}
 
